package com.molichuxing.gateway.bff.advert.services;

import java.util.List;
import java.util.Map;

import com.molichuxing.framework.dto.Paged;
import com.molichuxing.gateway.bff.advert.entity.request.create.AdvertCreateVo;
import com.molichuxing.gateway.bff.advert.entity.request.modify.AdvertModifyVo;
import com.molichuxing.gateway.bff.advert.entity.response.AdvertDealerStoreVo;
import com.molichuxing.gateway.bff.advert.entity.response.AdvertVo;
import com.molichuxing.gateway.bff.advert.entity.response.BrandAndDealerVo;

public interface AdvertBffService {

	
	/**
	 * 获取广告列表
	 * 
	 * @param map
	 *            参数
	 *key:name
	 *            String 广告名称 非必填
	 *key:position
	 *            Integer 广告位置（1:终端屏保广告   2:APP开机广告） 非必填
	 *key:startTime
	 *            String 请求开始时间 非必填
	 *key:endTime
	 *            String 请求结束时间 非必填
	 *key:pageNum
	 *            Integer 当前页
	 *key:pageSize
	 *            Integer 每页显示条数
	 * @return
	 */
	Paged<AdvertVo> getAdvertList(Map<String,Object> map)throws Exception;
	
	/**
	 * 根据id查询广告信息
	 * @param id
	 * @return
	 */
	AdvertVo getAdvertById(Integer id);
	
	/**
	 * 新增广告
	 * @param createVo
	 * @return
	 */
	Boolean create(AdvertCreateVo createVo);
	
	/**
	 * 修改广告
	 * @param modifyVo
	 * @return
	 */
	Boolean modify(AdvertModifyVo modifyVo);
	
	/**
	 * 获取经销商和品牌接口
	 * 
	 * @param type 1：品牌 2：经销商
	 * @return
	 * @throws Exception
	 */
	List<BrandAndDealerVo> getBrandAndDealerList(Integer type)throws Exception;
	
	/**
	 * 获取投放门店信息
	 * @param type  1：品牌 2：经销商
	 * @param typeId  品牌id经销商id
	 * @param advertId 广告id
	 * @return
	 * @throws Exception
	 */
	AdvertDealerStoreVo  getDealerAndStoreList(Integer type,Integer typeId,Integer advertId)throws Exception;
	
	/**
	 * 新增门店与广告的绑定关系
	 * @param storeIds
	 * @param advertId
	 * @return
	 */
	Boolean createAdvertStore(String storeIds,Integer advertId);
	
	
}
